package com.bsoft.utils;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**md5加密,解密*/
public class MD5Util {

    public static String getMD5(String input) {
        try {
            // 创建一个MessageDigest实例，初始化为MD5算法对象
            MessageDigest md = MessageDigest.getInstance("MD5");
            // 计算input字符串的 MD5 函数
            md.update(input.getBytes());
            // digest()最后确定返回byte[]数组
            byte[] messageDigest = md.digest();

            // 创建StringBuilder来保存十六进制字符串
            StringBuilder hexString = new StringBuilder();

            // 字节转换为十六进制
            for (byte b : messageDigest) {
                String hex = Integer.toHexString(0xff & b);
                if (hex.length() == 1) hexString.append('0');
                hexString.append(hex);
            }

            // 返回32位小写的哈希值
            return hexString.toString();

        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException(e);
        }
    }
}
